home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / CIncludes / ControlStrip.h < prev    next >
C/C++ Source or Header  |  1996-05-01  |  7KB  |  215 lines

  1. /*
  2.      File:        ControlStrip.h
  3.  
  4.      Contains:    Control Strip (for Powerbooks and Duos) Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __CONTROLSTRIP__
  19. #define __CONTROLSTRIP__
  20.  
  21. #ifndef __TYPES__
  22. #include <Types.h>
  23. #endif
  24. #ifndef __MENUS__
  25. #include <Menus.h>
  26. #endif
  27. #ifndef __DIALOGS__
  28. #include <Dialogs.h>
  29. #endif
  30.  
  31. #ifdef __cplusplus
  32. extern "C" {
  33. #endif
  34.  
  35. #if PRAGMA_IMPORT_SUPPORTED
  36. #pragma import on
  37. #endif
  38.  
  39. #if PRAGMA_ALIGN_SUPPORTED
  40. #pragma options align=mac68k
  41. #endif
  42.  
  43. /*
  44. ********************************************************************************************
  45.  
  46.     messages passed to the modules
  47.  
  48. ********************************************************************************************
  49. */
  50.  
  51. enum {
  52.     sdevInitModule                = 0,                            /* initialize the module*/
  53.     sdevCloseModule                = 1,                            /* clean up before being closed*/
  54.     sdevFeatures                = 2,                            /* return feature bits*/
  55.     sdevGetDisplayWidth            = 3,                            /* returns the width of the module's display*/
  56.     sdevPeriodicTickle            = 4,                            /* periodic tickle when nothing else is happening*/
  57.     sdevDrawStatus                = 5,                            /* update the interface in the Control Strip*/
  58.     sdevMouseClick                = 6,                            /* user clicked on the module's display area in the Control Strip*/
  59.     sdevSaveSettings            = 7,                            /* saved any changed settings in module's preferences file*/
  60.     sdevShowBalloonHelp            = 8                                /* puts up a help balloon, if the module has one to display*/
  61. };
  62.  
  63. /*
  64. ********************************************************************************************
  65.  
  66.     Features supported by the module.  If a bit is set, it means that feature is supported.
  67.     All undefined bits are reserved for future use by Apple, and should be set to zero.
  68.  
  69. ********************************************************************************************
  70. */
  71.  
  72. enum {
  73.     sdevWantMouseClicks            = 0,                            /* notify the module of mouseDown events*/
  74.     sdevDontAutoTrack            = 1,                            /* call the module to do mouse tracking*/
  75.     sdevHasCustomHelp            = 2,                            /* module provides its own help messages*/
  76.     sdevKeepModuleLocked        = 3                                /* module needs to be locked in the heap*/
  77. };
  78.  
  79. /*
  80. ********************************************************************************************
  81.  
  82.     Result values returned by the sdevPeriodicTickle and sdevIconMouseClick selectors.
  83.     If a bit is set, the module can request that a specific function is performed by
  84.     the Control Strip.  A result of zero will do nothing.  All undefined bits are reserved
  85.     for future use by Apple, and should be set to zero.
  86.  
  87. ********************************************************************************************
  88. */
  89.  
  90. enum {
  91.     sdevResizeDisplay            = 0,                            /* resize the module's display*/
  92.     sdevNeedToSave                = 1,                            /* need to save changed settings, when convenient*/
  93.     sdevHelpStateChange            = 2,                            /* need to update the help message because of a state change*/
  94.     sdevCloseNow                = 3                                /* close a module because it doesn't want to stay around*/
  95. };
  96.  
  97. /*
  98. ********************************************************************************************
  99.  
  100.     miscellaneous
  101.  
  102. ********************************************************************************************
  103. */
  104.  
  105. enum {
  106.     sdevFileType                = 'sdev'                        /* module's file type*/
  107. };
  108.  
  109.  
  110. enum {
  111.     sdevMenuItemMark            = 0xA5                            /* `*': `checkmark' to use in popup menus*/
  112. };
  113.  
  114. /*    direction values for SBDrawBarGraph*/
  115.  
  116. enum {
  117.     BarGraphSlopeLeft            = -1,                            /* max end of sloping bar graph is on the left*/
  118.     BarGraphFlatRight            = 0,                            /* max end of flat bar graph is on the right*/
  119.     BarGraphSlopeRight            = 1                                /* max end of sloping bar graph is on the right*/
  120. };
  121.  
  122. /*
  123. ********************************************************************************************
  124.  
  125.     utility routines to provide standard interface elements and support for common functions
  126.  
  127. ********************************************************************************************
  128. */
  129. extern pascal Boolean SBIsControlStripVisible(void )
  130.  TWOWORDINLINE(0x7000, 0xAAF2);
  131.  
  132. extern pascal void SBShowHideControlStrip(Boolean showIt)
  133.  THREEWORDINLINE(0x303C, 0x0101, 0xAAF2);
  134.  
  135. extern pascal Boolean SBSafeToAccessStartupDisk(void )
  136.  TWOWORDINLINE(0x7002, 0xAAF2);
  137.  
  138. extern pascal short SBOpenModuleResourceFile(OSType fileCreator)
  139.  THREEWORDINLINE(0x303C, 0x0203, 0xAAF2);
  140.  
  141. extern pascal OSErr SBLoadPreferences(ConstStr255Param prefsResourceName, Handle *preferences)
  142.  THREEWORDINLINE(0x303C, 0x0404, 0xAAF2);
  143.  
  144. extern pascal OSErr SBSavePreferences(ConstStr255Param prefsResourceName, Handle preferences)
  145.  THREEWORDINLINE(0x303C, 0x0405, 0xAAF2);
  146.  
  147. extern pascal void SBGetDetachedIndString(StringPtr theString, Handle stringList, short whichString)
  148.  THREEWORDINLINE(0x303C, 0x0506, 0xAAF2);
  149.  
  150. extern pascal OSErr SBGetDetachIconSuite(Handle *theIconSuite, short theResID, unsigned long selector)
  151.  THREEWORDINLINE(0x303C, 0x0507, 0xAAF2);
  152.  
  153. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  154. extern pascal short SBTrackPopupMenu(const Rect *moduleRect, MenuHandle theMenu)
  155.  THREEWORDINLINE(0x303C, 0x0408, 0xAAF2);
  156.  
  157. #endif
  158. extern pascal short SBTrackSlider(const Rect *moduleRect, short ticksOnSlider, short initialValue)
  159.  THREEWORDINLINE(0x303C, 0x0409, 0xAAF2);
  160.  
  161. extern pascal OSErr SBShowHelpString(const Rect *moduleRect, StringPtr helpString)
  162.  THREEWORDINLINE(0x303C, 0x040A, 0xAAF2);
  163.  
  164. extern pascal short SBGetBarGraphWidth(short barCount)
  165.  THREEWORDINLINE(0x303C, 0x010B, 0xAAF2);
  166.  
  167. extern pascal void SBDrawBarGraph(short level, short barCount, short direction, Point barGraphTopLeft)
  168.  THREEWORDINLINE(0x303C, 0x050C, 0xAAF2);
  169.  
  170. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  171. extern pascal void SBModalDialogInContext(ModalFilterUPP filterProc, short *itemHit)
  172.  THREEWORDINLINE(0x303C, 0x040D, 0xAAF2);
  173.  
  174. #endif
  175. /* The following routines are available in Control Strip 1.2 and later. */
  176. extern pascal OSErr SBGetControlStripFontID(short *fontID)
  177.  THREEWORDINLINE(0x303C, 0x020E, 0xAAF2);
  178.  
  179. extern pascal OSErr SBSetControlStripFontID(short fontID)
  180.  THREEWORDINLINE(0x303C, 0x010F, 0xAAF2);
  181.  
  182. extern pascal OSErr SBGetControlStripFontSize(short *fontSize)
  183.  THREEWORDINLINE(0x303C, 0x0210, 0xAAF2);
  184.  
  185. extern pascal OSErr SBSetControlStripFontSize(short fontSize)
  186.  THREEWORDINLINE(0x303C, 0x0111, 0xAAF2);
  187.  
  188. extern pascal OSErr SBGetShowHideHotKey(short *modifiers, unsigned char *keyCode)
  189.  THREEWORDINLINE(0x303C, 0x0412, 0xAAF2);
  190.  
  191. extern pascal OSErr SBSetShowHideHotKey(short modifiers, unsigned char keyCode)
  192.  THREEWORDINLINE(0x303C, 0x0213, 0xAAF2);
  193.  
  194. extern pascal OSErr SBIsShowHideHotKeyEnabled(Boolean *enabled)
  195.  THREEWORDINLINE(0x303C, 0x0214, 0xAAF2);
  196.  
  197. extern pascal OSErr SBEnableShowHideHotKey(Boolean enabled)
  198.  THREEWORDINLINE(0x303C, 0x0115, 0xAAF2);
  199.  
  200.  
  201. #if PRAGMA_ALIGN_SUPPORTED
  202. #pragma options align=reset
  203. #endif
  204.  
  205. #if PRAGMA_IMPORT_SUPPORTED
  206. #pragma import off
  207. #endif
  208.  
  209. #ifdef __cplusplus
  210. }
  211. #endif
  212.  
  213. #endif /* __CONTROLSTRIP__ */
  214.  
  215.